package com.tsing.cedap.common.exceptions;

/**
 * 路由错误码定义接口
 */
public interface CommonException {

    int PROXYERR = 800;

    enum Proxy implements ExceptionType {
        SERVER_IS_TOO_BUSY(PROXYERR, "系统繁忙，请稍等片刻后重试"),
        TOKEN_IS_REQUIRED(PROXYERR + 1, "token不能为空"),
        TOKEN_VERIFY_ERROR(PROXYERR + 2, "登录已失效，请重新登录"),
        MD5_ENCODE_ERROR(PROXYERR + 3, "md5加密错误"),

        WECHAT_SERVER_EXCEPTION(PROXYERR + 10, "微信服务器异常，请稍后重试"),
        USER_NOT_EXIST(PROXYERR + 11, "用户不存在，请先注册"),
        USER_HAS_BEEN_DISABLED(PROXYERR + 12, "用户已被禁用，请与管理员联系"),
        MESSAGE_SEND_ERROR(PROXYERR + 13, "验证码发送失败"),
        MESSAGE_VERIFY_ERROR(PROXYERR + 14, "验证码错误"),
        USER_IS_EXIST(PROXYERR + 15, "该用户已被注册"),
        TIP_IS_NOT_ALLOW_CHANGE(PROXYERR + 16, "当前状态不允许修改小费"),
        ORDER_IS_NOT_ALLOW_CHANGE(PROXYERR + 17, "当前状态不允许修改订单"),
        VERIFY_QR_ERROR(PROXYERR + 18, "校验失败"),
        USER_IS_NOT_ALLOW_CHANGE(PROXYERR + 19, "当前状态不允许申请"),
        USER_IS_NOT_EXIST(PROXYERR + 21, "该手机号暂未注册，请与管理员联系"),
        USER_IS_NOT_ALLOW_LOGIN(PROXYERR + 22, "该手机号暂不支持网页端登录，请与管理员联系"),
        PASSWORD_ERROR(PROXYERR + 23, "密码错误，请重试"),
        SCHOOL_NAME_IS_NOTNULL(PROXYERR + 24, "学校名称已存在"),
        SCHOOL_NAME_IS_REFERENCE(PROXYERR + 25, "学校关联有校区，不允许删除"),
        CAMPUS_NAME_IS_NOTNULL(PROXYERR + 26, "校区名称已存在"),
        CAMPUS_NAME_IS_REFERENCE(PROXYERR + 27, "校区关联有学院，不允许删除"),
        COLLEGE_NAME_IS_NOTNULL(PROXYERR + 28, "学院名称已存在"),
        COLLEGE_NAME_IS_REFERENCE(PROXYERR + 29, "校区关联有用户，不允许删除"),
        CAMPUS_NAME_IS_REFERENCE2(PROXYERR + 30, "校区关联有驿站，不允许删除"),
        CAMPUS_NAME_IS_REFERENCE3(PROXYERR + 31, "校区关联有收获地址，不允许删除"),
        STATION_NAME_IS_NOTNULL(PROXYERR + 32, "驿站名称已存在"),
        STATION_NAME_IS_REFERENCE(PROXYERR + 33, "驿站关联有快递品牌，不允许删除"),
        BRAND_NAME_IS_NOTNULL(PROXYERR + 34, "品牌名称已存在"),
        BRAND_NAME_IS_REFERENCE(PROXYERR + 35, "快递品牌关联有订单，不允许删除"),


        OTHER(PROXYERR, "系统错误");

        private int code;
        private String description;

        Proxy(int code, String description) {
            this.code = code;
            this.description = description;
        }

        @Override
        public int getCode() {
            return code;
        }

        @Override
        public String getDescription() {
            return description;
        }

    }

}
